DataFrame.agg
DataFrame.agg(func, axis=0, *args, **kwargs)
使用指定axis上的一个或多个操作Aggregate(聚合)。
参数
func :
function, str, list或dict函数,用于聚合数据。如果是函数,
则必须在传递
DataFrame或传递到DataFrame.apply时工作。接受的组合是:
function string function namefunctions的list 和/或 function names, 例如, [np.sum, 'mean']
axis labels的dict -> functions, function names 或 这样的list.
axis : {0 or ‘index’, 1 或 ‘columns’}, 默认 0
如果
0或'index':应用函数到每一列。如果
1或‘columns’:应用函数到每一行。*args要传递给func的位置参数。
**kwargs要传递给func的关键字参数。
返回值:
DataFrame,Series或scalar
如果使用单个函数调用DataFrame.agg,则返回Series,
如果使用多个函数调用DataFrame.agg,
如果使用单个函数调用Series.agg则返回DataFrame,
如果使用多个函数调用Series.agg则返回标量,
返回一个Series。
聚合操作总是在轴上执行,或者是index(默认)或列轴。 这种行为不同于
numpy聚合函数(mean,median,prod,sum,std,var),其中默认值是计算展平的聚合数组,例如numpy.mean(arr_2d) 而不是numpy.mean(arr_2d,轴= 0)。agg是aggregate的别名。 使用别名。
agg是聚合的别名。使用别名。
传递的用户定义函数将被传递一Series用于求值。
df = pd.DataFrame([[1, 2, 3],
[4, 5, 6],
[7, 8, 9],
[np.nan, np.nan, np.nan]],
columns=['A', 'B', 'C'])
在行上聚合这些函数
df.agg(['sum', 'min'])
A B C
sum 12.0 15.0 18.0
min 1.0 2.0 3.0
每个列有不同的聚合
df.agg({'A' : ['sum', 'min'], 'B' : ['min', 'max']})
A B
max NaN 8.0
min 1.0 2.0
sum 12.0 NaN
对列进行聚合
df.agg("mean", axis="columns")
0 2.0
1 5.0
2 8.0
3 NaN
dtype: float64
参考